//
// Created by denglibin on 19-10-18.
//

/**
 * alarm()函数说明

[1] 引用头文件：#include <unistd.h>;

[2] 函数标准式：unsigned int alarm(unsigned int seconds);

[3] 功能与作用：alarm()函数的主要功能是设置信号传送闹钟，即用来设置信号SIGALRM在经过参数seconds秒数后发送给目前的进程。
 如果未设置信号SIGALARM的处理函数，那么alarm()默认处理终止进程。

[4] 函数返回值：如果在seconds秒内再次调用了alarm函数设置了新的闹钟，则后面定时器的设置将覆盖前面的设置，即之前设置的秒数被新的闹钟时间取代；
 当参数seconds为0时，之前设置的定时器闹钟将被取消，并将剩下的时间返回
 */
#include <unistd.h>
#include <stdio.h>
#include <stdlib.h>
#include <signal.h>

int alarm_fun(){
    printf("alarm_fun called\n");
}

static int main_(){
    signal(SIGALRM, alarm_fun);
    int r1 = alarm(1); // 秒
    printf("r1 = %d\n", r1);
    int r2 = alarm(5);
    printf("r2 = %d\n", r2);
    sleep(6);
    printf("hello");
    return 0;
}